package com.ruoyi.task.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.category.domain.SysBackpack;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户任务对象 sys_user_task
 * 
 * @author ruoyi
 * @date 2022-06-23
 */
public class SysUserTask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 任务编号 */
    @Excel(name = "任务编号")
    private Long taskNo;

    /** 任务名称 */
    private String taskName;

    /** 任务ID */
    private Long taskId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 用户名称 */
    private String nickName;

    /** 单位ID */
    @Excel(name = "单位ID")
    private Long deptId;

    /** 单位名称 */
    private String deptName;

    /** 岗位ID */
    private Long postId;

    /** 岗位名称 */
    private String postName;

    /** 视频 */
    @Excel(name = "视频")
    private String url;

    /** 时长 */
    @Excel(name = "时长")
    private String durationTime;

    /** 在线状态（0在线 1离线） */
    private String onlineStatus;

    /** 终端类型 */
    @Excel(name = "终端类型")
    private Integer terminalType;

    /** 成绩 */
    @Excel(name = "成绩")
    private Integer grade;

    /** 任务模式 */
    @Excel(name = "任务模式")
    private Integer taskType;

    /** 状态 */
    @Excel(name = "状态")
    private Integer status;

    /** 任务状态 */
    @Excel(name = "任务状态")
    private Integer taskStatus;

    /** 模式 */
    private Integer pattern;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 任务参与人数 */
    private Integer headcount;

    /** 单位组ID */
    private List<Long> deptIds;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date submitTime;

    /** 科目设备故障 */
    private Integer faultSubjectId;
    /** 科目背包 */
    private Integer backpack;


    /** 任务模式名称 */
    private String taskTypeName;

    /** 任务终端类型名称 */
    private String terminalName;

    /** 任务背包集合*/
    private SysBackpack sysBackpack;

    /** 故障现象集合*/
    private List<SysFault> faultList;


    /** 任务步骤集合*/
    private List<SysTaskStep> StepList;

    public List<SysTaskStep> getStepList() {
        return StepList;
    }

    public void setStepList(List<SysTaskStep> stepList) {
        StepList = stepList;
    }

    public SysBackpack getSysBackpack() {
        return sysBackpack;
    }

    public void setSysBackpack(SysBackpack sysBackpack) {
        this.sysBackpack = sysBackpack;
    }

    public String getTerminalName() {
        return terminalName;
    }


    public String getTaskTypeName() {
        return taskTypeName;
    }

    public void setTaskTypeName(String taskTypeName) {
        this.taskTypeName = taskTypeName;
    }

    public void setTerminalName(String terminalName) {
        this.terminalName = terminalName;
    }


    public Long getTaskId() {
        return taskId;
    }

    public void setTaskId(Long taskId) {
        this.taskId = taskId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setTaskNo(Long taskNo) 
    {
        this.taskNo = taskNo;
    }

    public Long getTaskNo() 
    {
        return taskNo;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public String getDurationTime() {
        return durationTime;
    }

    public void setDurationTime(String durationTime) {
        this.durationTime = durationTime;
    }

    public Long getPostId() {
        return postId;
    }

    public void setPostId(Long postId) {
        this.postId = postId;
    }

    public String getOnlineStatus() {
        return onlineStatus;
    }

    public void setOnlineStatus(String onlineStatus) {
        this.onlineStatus = onlineStatus;
    }

    public String getPostName() {
        return postName;
    }

    public void setPostName(String postName) {
        this.postName = postName;
    }

    public Integer getTaskStatus() {
        return taskStatus;
    }

    public void setTaskStatus(Integer taskStatus) {
        this.taskStatus = taskStatus;
    }

    public List<Long> getDeptIds() {
        return deptIds;
    }

    public void setDeptIds(List<Long> deptIds) {
        this.deptIds = deptIds;
    }


    public void setUrl(String url) 
    {
        this.url = url;
    }

    public String getUrl() 
    {
        return url;
    }

    public void setTerminalType(Integer terminalType) 
    {
        this.terminalType = terminalType;
    }

    public Integer getTerminalType() 
    {
        return terminalType;
    }
    public void setGrade(Integer grade) 
    {
        this.grade = grade;
    }

    public Integer getGrade() 
    {
        return grade;
    }
    public void setTaskType(Integer taskType) 
    {
        this.taskType = taskType;
    }

    public Integer getTaskType() 
    {
        return taskType;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public Date getSubmitTime() 
    {
        return submitTime;
    }
    public void setSubmitTime(Date submitTime)
    {
        this.submitTime = submitTime;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Integer getPattern() {
        return pattern;
    }

    public void setPattern(Integer pattern) {
        this.pattern = pattern;
    }

    public Integer getHeadcount() {
        return headcount;
    }

    public void setHeadcount(Integer headcount) {
        this.headcount = headcount;
    }

    public Integer getFaultSubjectId() {
        return faultSubjectId;
    }

    public void setFaultSubjectId(Integer faultSubjectId) {
        this.faultSubjectId = faultSubjectId;
    }

    public Integer getBackpack() {
        return backpack;
    }

    public void setBackpack(Integer backpack) {
        this.backpack = backpack;
    }

    public List<SysFault> getFaultList() {
        return faultList;
    }

    public void setFaultList(List<SysFault> faultList) {
        this.faultList = faultList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("taskNo", getTaskNo())
            .append("userId", getUserId())
            .append("deptId", getDeptId())
            .append("remark", getRemark())
            .append("url", getUrl())
            .append("durationTime", getDurationTime())
            .append("terminalType", getTerminalType())
            .append("grade", getGrade())
            .append("taskType", getTaskType())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("submitTime", getSubmitTime())
                .append("startTime", getStartTime())
            .toString();
    }
}
